Numerical control system using I/O unit for time measurement

ABSTRACT

In a numerical control system in which a numerical controller and an I/O unit perform serial data communication through a communication line, a counter of the I/O unit starts time measurement with an input signal from an in-machine measurement device as a trigger and stops counting at the start of transmission of DI data. The I/O unit transmits a flag indicative of input of the input signal as a trigger and a value in the stopped counter to the numerical controller. Based on a time value measured by a timer and the counter value, the numerical controller calculates the time of input of the input signal.

RELATED APPLICATION DATA

This application claims priority under 35 U.S.C. §119 and/or §365 toJapanese Application No. 2012-062101 filed Mar. 19, 2012, the entirecontents of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a numerical control system using an I/Ounit for time measurement.

2. Description of the Related Art

An in-machine measurement function of a numerically-controlled machinetool is implemented such that a touch sensor attached to the feed shaftof the machine tool is brought into contact with a measurement object bycontrolling the feed shaft and a signal from the touch sensor is usedfor measurement. According to this in-machine measurement function, themeasurement object is measured in such a manner that a numericalcontroller notices the activation timing of the output of the touchsensor when the feed shaft is moved to bring the touch sensor intocontact with the measurement object (Japanese Patent ApplicationLaid-Open No. 5-66820). To achieve this function, the touch sensoroutput should be input as a DI signal to the numerical controller bysome means or other.

Normally, signals of this type, as well as the signal for the touchsensor, are often input through a DI signal input interface on thenumerical controller.

In order to input and output DI/DO signals (input and output signals)between the numerical controller (CNC) and the machine tool, a pluralityof external signal input/output units (I/O units) are connected so thatthe DI/DO signals are normally transferred between the numericalcontroller and the I/O units. If the touch sensor output is input to theI/O units, it is possible to achieve a more flexible configuration andwiring than in the case where the DI signal is input through theinterface on the numerical controller.

Since the numerical controller is expected to perform predeterminedprocessing in a fixed time, however, the DI/DO signals are oftentransferred at regular intervals. If the touch sensor output is input tothe numerical controller through the I/O units, in such a case, it isinevitably updated in each transfer period. Therefore, some means isneeded to achieve higher-precision measurement. A technique to overcomethis problem is disclosed in Japanese Patent Applications Laid-Open No.6-149320 and No. 11-205392.

On the other hand, Japanese Patent Application Laid-Open No. 6-149320,mentioned above, discloses a technique in which I/O units performevent-driven communication with a numerical controller based on DIsignal input as a trigger. According to this technique, thecommunication is effected interrupting periodic transfer. To achievethis, a sophisticated design, as well as a complicated arbiter circuitand priority setting, is required such that the transfer period isdetermined in consideration of interruption or is regularized through aspecial protocol or processing sequence using a timer circuit or thelike, in place of fixed-period transfer.

Further, Japanese Patent Application Laid-Open No. 11-205392, mentionedabove, discloses a technique in which I/O units individually comprisetherein timers for time counting, which are synchronized by acommunication protocol. According to this technique, the timers in theI/O units, which are strictly expected to be low in cost, aredisadvantageous due to their increasing the circuit scale.

SUMMARY OF THE INVENTION

Accordingly, in order to solve the above-described problems, the objectof the present invention is to provide a numerical control systemcapable of performing higher-precision in-machine measurement based ontime measurement by an I/O unit or units.

A numerical control system according to the present invention comprisesa numerical controller and one or more I/O units connected to thenumerical controller and transfers input and output signals between thenumerical controller and the I/O units through serial communication. Inthis numerical control system, each of the I/O units comprises a timemeasurement section configured to start time measurement with an inputsignal as a trigger and a serial communication section configured totransmit a flag indicative of input of the input signal and a measuredvalue of the time measurement section at the start of sending back bythe I/O unit to the numerical controller. On the other hand, thenumerical controller comprises an acquisition section configured toacquire the flag and the measured value input through the serialcommunication, a timer configured to measure time, and an input timecalculation section configured to calculate the time of input of theinput signal based on the time measured by the timer and the measuredvalue acquired by the acquisition section.

The input time calculation section may be configured to calculate thetime of input of the input signal based on a delay time of communicationbetween the numerical controller and the I/O unit, as well as on themeasured time and the measured value.

The numerical controller may comprise a delay time measurement sectionconfigured to measure the delay time of communication between thenumerical controller and the I/O unit through the serial communication.

In the case where the plurality of I/O units are connected in a chain tothe numerical controller, the input time calculation section may beconfigured to calculate the time of input of the input signal based onthe delay time of communication between any one of the I/O units and theI/O unit adjacent thereto, as well as on the measured time and themeasured value.

The I/O unit may be configured to start sending back to the numericalcontroller in the serial communication on receiving data from thenumerical controller.

According to the present invention, there can be provided a numericalcontrol system capable of performing higher-precision in-machinemeasurement based on time measurement by an I/O unit or units.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and features of the present invention willbe obvious from the ensuing description of embodiments with reference tothe accompanying drawings, in which:

FIG. 1 is a block diagram illustrating a numerical control systemaccording to the present invention;

FIG. 2 is a time chart illustrating the present invention;

FIG. 3 is a diagram illustrating how a touch sensor contacts a workpieceand outputs a DI data as a trigger;

FIG. 4 is a flowchart illustrating processing on the side of thenumerical control system;

FIG. 5 is a flowchart illustrating processing on the side of an I/Ounit; and

FIG. 6 is a diagram illustrating a numerical control system in which aplurality of I/O unit are connected in a daisy chain to a numericalcontroller.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

As shown in FIG. 1, a numerical control system using an I/O unit fortime measurement comprises a numerical controller 10, communication line20, and I/O unit 30. The numerical control system may be a system inwhich a plurality of I/O units 30 are connected in the shape of a stararound the numerical controller 10 or in a chain (see FIG. 6).

The numerical controller 10 comprises a processor (CPU) 11, data buffer(DO) 12, data buffer (DI) 13, timer 14, such as a real-time clock fortime counting, etc. The I/O unit 30 comprises a processor (CPU) 31, databuffer (DO) 32, data buffer (DI) 33, counter 34, and receiver 35. Thecounter 34 starts counting on receiving a DI signal as a trigger. Thenumerical controller 10 and the I/O unit 30 perform serial datacommunication through the communication line 20. The numericalcontroller 10 and the I/O unit 30 periodically transfer data betweenthem.

If the DI signal as a trigger is input from, for example, a touch sensor40 to the I/O unit 30, the counter 34 of the I/O unit 30 startscounting. The DI signal is not limited to that from the touch sensor 40.The numerical controller 10 transmits serial data (DO data) to the I/Ounit 30 through the communication line 20. On receiving the serial data(DO data) from the numerical controller 10, the I/O unit 30 sends backthe serial data (DI data) to the numerical controller 10. The counter 34stops counting at the start of sending back of the this serial data (DIdata), and sends back the current value in the counter 34 and a flagindicative of the input of the DI signal as serial data (DI data) to thenumerical controller 10 through the communication line 20 by serial datacommunication.

On the other hand, if the numerical controller 10 having received theserial data from the I/O unit 30 identifies the aforesaid flag in the DIdata, an accurate time input by the DI signal as a trigger can bespecified by subtracting the value in the counter 34, contained in thereceived DI data, and a previously measured value of communication delaytime from a time value in the timer 14 of the numerical controller 10,by subtraction means.

In this numerical control system, necessary hardware (circuit) for theI/O unit 30 is not a timer for time counting but the counter 34 thatmeasures the time duration from the input of the DI signal as a triggerto the start of sending back to the numerical controller 10. The counter34 is only expected to be able to count the length for the period offixed transfer between the numerical controller 10 and the I/O unit 30.Thus, a measurement system can be achieved that has a circuit scalesmaller than that of a timer such as a real-time clock for timecounting.

FIG. 2 is a time chart illustrating the operation of the numericalcontrol system. The timer 14 of the numerical controller 10 determinesthe current time on a moment-by-moment basis. The counter 34 of the I/Ounit 30 (or receiver 35) starts counting when the DI signal as a triggeris input to the I/O unit 30.

The numerical controller 10 periodically transmits DO data to the I/Ounit 30. On receiving the DO data from the numerical controller 10, theI/O unit 30 sends back the serial data (DI data) to the numericalcontroller 10. The I/O unit 30 causes the counter 34 to stop counting atthe start of sending back of this serial data (DI data). The currentvalue in the counter 34 and the flag indicative of the input of the DIsignal as serial data is sent back to the numerical controller 10through the communication line 20 by serial data communication.

On receiving this serial data, on the other hand, the numericalcontroller 10 subtracts the value (c) in the counter 34, contained inthe received DI data, and the previously measured value (d) ofcommunication delay time from the time value (b) measured by the timer14, by the subtraction means, thereby obtaining the time (a (=b−c−d)) ofthe input of the DI signal as a trigger to the I/O unit 30.

FIG. 3 is a diagram illustrating how the touch sensor contacts aworkpiece and outputs the DI data as a trigger. An in-machinemeasurement may be performed by using an in-machine measurement device,such as a touch sensor, attached to a machine tool (not shown). In thiscase, if the touch sensor 40 is moved relative to a workpiece 44 so thatthe distal end portion of a contactor 42 of the touch sensor 40 contactsthe workpiece 44, the DI signal as a trigger is output from the touchsensor 40. An example of the DI signal as a trigger input to thereceiver 35 of the I/O unit 30 shown in FIG. 1 is a signal output fromthe touch sensor 40 shown in FIG. 3.

Processing performed by the numerical controller and the I/O unit willnow be described with reference to the flowcharts of FIGS. 4 and 5.

The processing on the side of the numerical controller will be describedwith reference to FIG. 4. The following is a sequential description ofvarious steps of operation.

[Step SA01] Reception processing is performed for the DI datatransmitted from the I/O unit 30.

[Step SA02] It is determined whether or not the received DI datacontains the flag indicative of the input of the DI signal as a trigger.If the DI signal input flag is not contained, this processing ends. Ifthe DI signal input flag is contained, the program proceeds to StepSA03.

[Step SA03] A counter value contained in the DI data is acquired.

[Step SA04] Time information of the timer 14 is acquired.

[Step SA05] The communication delay time data previously measured, set,and stored in a memory in the numerical controller is read.

[Step SA06] Information on the time of the input of the DI signal as atrigger to the I/O unit 30 is determined according to an equation, timea=time b−time c−time d, whereupon this processing ends. The time b is atime at which the reception of the DI signal from the I/O unit isfinished and can be specified based on the time information measured bythe timer 14. The time c is the counter value. The time d is thecommunication delay time that contains the length (time duration) of theDI signal transmitted from the I/O unit to the numerical controller.

The processing of Steps SA01 to SA03 corresponds to a “acquisitionsection” of the numerical control system according to the presentinvention, while the processing of Step SA06 corresponds to an “inputtime calculation section” of the numerical control system.

The processing on the side of the I/O unit will now be described withreference to FIG. 5. The following is a sequential description ofvarious steps of operation.

[Step SB01] It is determined whether or not the DI signal as a triggeris input to the I/O unit 30. If the input is ascertained, the programproceeds to Step SB02. If not, input of a signal as a trigger isawaited.

[Step SB02] Counting of the counter 34 is started.

[Step SB03] It is determined whether or not the DO signal is transmittedfrom the numerical controller 10. If the DO signal is determined to betransmitted, the program proceeds to Step SB04. If not, transmission ofthe DO signal is awaited.

[Step SB04] Sending back of the DI data by serial data communication isstarted.

[Step SB05] The counting of the counter 34 is stopped.

[Step SB06] The DI signal input flag, indicative of the input of the DIsignal as a trigger to the I/O unit 30, and the DI data containing dataon the value in the counter 34 are transmitted to the numericalcontroller 10, whereupon this processing ends.

The processing of Step SB06 corresponds to a “serial communicationsection” of the numerical control system according to the presentinvention, while the processing of Step SB03 corresponds to “receivingdata from the numerical controller” of the numerical control system ofthe invention.

FIG. 6 is a diagram illustrating a numerical control system in which aplurality of I/O units are connected in a chain to a numericalcontroller. Serial data communication is also performed between any twoadjacent I/O units. The numerical control system of FIG. 6 in which theI/O units are used for time measurement should be designed inconsideration of the time of communication delay between the I/O units30, as well as that between the numerical controller 10 and the I/Ounits 30. To attain this, the time delay of communication from the I/Ounit 30 to which a DI signal as a trigger is input to the numericalcontroller 10 through the other I/O units is previously measured andstored in a memory in the numerical controller. The communication timedelay can be determined by, for example, outputting a dummy signal fromthe numerical controller 10 to the I/O units 30, sending back the dummysignal from the I/O units 30 to the numerical controller 10, andmeasuring the time required for sending back the dummy signal.

The invention claimed is:
 1. A numerical control system, which comprisesa numerical controller and one or more I/O units connected to thenumerical controller and transfers input and output signals between thenumerical controller and the I/O units through serial communication,wherein the I/O unit starts sending back to the numerical controller inthe serial communication on receiving data from the numericalcontroller, and each of the I/O units comprising: a time measurementsection configured to start time measurement with an input signal as atrigger; and a serial communication section configured to transmit aflag indicative of input of the input signal and a measured value of thetime measurement section at the start of sending back by the I/O unit tothe numerical controller, the numerical controller comprising: anacquisition section configured to acquire the flag and the measuredvalue input through the serial communication; a timer configured tomeasure time; and an input time calculation section configured tocalculate the time of input of the input signal based on the timemeasured by the timer and the measured value acquired by the acquisitionsection.
 2. The numerical control system according to claim 1, whereinthe input time calculation section calculates the time of input of theinput signal based on a delay time of communication between thenumerical controller and the I/O unit, as well as on the measured timeand the measured value.
 3. The numerical control system according toclaim 2, wherein the numerical controller comprises a delay timemeasurement section configured to measure the delay time ofcommunication between the numerical controller and the I/O unit throughthe serial communication.
 4. The numerical control system according toclaim 2, wherein the plurality of I/O units are connected in a chain tothe numerical controller, and the input time calculation sectioncalculates the time of input of the input signal based on the delay timeof communication between any one of the I/O units and the I/O unitadjacent thereto, as well as on the measured time and the measuredvalue.
 5. The numerical control system according to claim 3, wherein theplurality of I/O units are connected in a chain to the numericalcontroller, and the input time calculation section calculates the timeof input of the input signal based on the delay time of communicationbetween any one of the I/O units and the I/O unit adjacent thereto, aswell as on the measured time and the measured value.